<template>
	<view>
		
		<button type="default" @click="loading">自定义loading</button>
		<button type="default" @click="setSto">设置本地储存</button>
		<button type="default" @click="getSto">获取本地储存</button>
		<button type="default" @click="delSto">删除本地储存</button>
		<button type="default" @click="showConfirm">显示确认框</button>
		<button type="default" @click="copy">复制文本</button>
		<button type="default" @click="getCopyText">获取复制文本</button>
		<button type="default" @click="getRanStr">获取随机字符串</button>
		<button type="default" @click="getDate">获取日期</button>
		<button type="default" @click="getTime">获取时间</button>
		<button type="default" @click="getDateTime">获取日期时间</button>
		<button type="default" @click="handleNum">格式化数字</button>
		<button type="default" @click="removeTag">去除标签</button>
		<button type="default" @click="scan">打开扫码</button>
		<button type="default" @click="tel">拨打电话10086</button>
		<button type="default" @click="qq">打开qq123456</button>
		<button type="default" @click="selectImg">选择图片</button>
		<button type="default" @click="openMarket">打开应用商店</button>
		<button type="default" @click="openMarket1">打开应用宝</button>
		<button type="default" @click="sysShare">打开系统分享</button>
		<button type="default" @click="share">打开自定义分享</button>
		<button type="default" @click="lookImg">放大查看图片</button>
		<button type="default" @click="lookImg1">放大查看图片1</button>
		<button type="default" @click="lookImg2">长按图片识别二维码</button>
		<button type="default" @click="getCurrentRoute">获取页面路由</button>
		<button type="default" @click="delay">延时执行</button>
		<button type="default" @click="cancelDelay">取消延时执行</button>
		<button type="default" @click="getLocation">获取位置信息</button>
		<button type="default" @click="getSystemInfo">获取系统信息</button>
		<button type="default" @click="$$p.go('order/device/device')">获取设备信息</button>
    
	</view>
</template>

<script>
	export default {
		data() {
			return {
        delayObject: {},
			};
		},
		methods: {
			
      // 显示|隐藏loading
			loading() {
			  this.$$t.showLoading();
			  setTimeout(() => {
			    this.$$t.hideLoading();
			  }, 1000)
			},
      
      // 设置本地储存
      setSto() {
        this.$$t.set('key1', 'value1');
        this.$$t.set({
          key: 'key2',
          value: 'value2'
        });
        this.$$t.set({
          key3: 'value3',
          key4: 'value4',
        });
        this.$$t.msg('设置成功！')
      },
      
      // 获取本地储存
      getSto() {
        const { key1, key2, key3 } = this.$$t.get(['key1', 'key2', 'key3']);
        const key4 = this.$$t.get('key4');
        console.log({ key1, key2, key3, key4 });
        
        this.$$t.msg({ key1, key2, key3, key4 }, true);
      },
      
      // 删除本地储存
      delSto() {
        this.$$t.del('key1');
        this.$$t.del(['key2', 'key3', 'key4']);
        this.$$t.msg('删除成功！')
      },
      
      // 显示确认框
      showConfirm() {
        this.$$t.confirm('确定要删除吗？').then(res => {
          this.$$t.msg('你点击了删除')
        }).catch(err => {
          this.$$t.msg('您点击了取消')
        })
      },
      
      // 复制文本
      copy() {
        // this.$$t.copyText('我是复制的文本', false).then(res => {
        //   this.$$t.msg('复制成功！');
        // }).catch(err => {
        //   this.$$t.msg('复制失败！');
        // });
        
        this.$$t.copyText('我是复制的文本');
      },
      
      // 获取拷贝文本
      getCopyText() {
        this.$$t.getCopyText().then(res => {
          this.$$t.msg(res);
        }).catch(err => {
          this.$$t.msg(err);
        })
      },
      
      // 获取随机字符串
      getRanStr() {
        this.$$t.msg(this.$$t.ranStr(10, 20));
      },
      
      // 获取日期
      getDate() {
        this.$$t.msg(this.$$t.getDate(null, '/'));
      },
      
      // 获取日期
      getTime() {
        this.$$t.msg(this.$$t.getTime());
      },
      
      // 获取日期
      getDateTime() {
        this.$$t.msg(this.$$t.getDateTime(null, '/', '-'));
      },
      
      // 处理数字
      handleNum() {
        this.$$t.msg(this.$$t.handleNum(123) + ' ' + this.$$t.handleNum(123456) + ' ' + this.$$t.handleNum(123456789) + ' ' + this.$$t.handleNum(1234567890))
      },
      
      // 去除标签
      removeTag() {
        const ele = '<p><strong>123123</strong><p>';
        // 去除便签，并只取4位字符
        this.$$t.msg(ele + ' ' + this.$$t.removeTag(ele, 4));
      },
      
      // 打开扫描
      scan() {
        this.$$t.scan().then(res => {
          this.$$t.msg(res);
        }).catch(err => {
          console.log(err)
          this.$$t.msg('取消扫描');
        });
      },
      
      // 打电话
      tel() {
        this.$$t.tel(10086).then(res => {
          this.$$t.msg('调用成功！');
        }).catch(err => {
          this.$$t.msg('调用失败！');
        })
      },
      
      // 打开qq聊天框
      qq() {
        this.$$t.qq('123456')
      },
      
      // 选择图片
      selectImg() {
        this.$$t.selectImg(3).then(res => {
          this.$$t.msg('成功：' + res.tempFilePaths);
        }).catch(err => {
          this.$$t.msg(err, true);
        })
      },
      
      // 应用商店打开当前应用
      openMarket() {
        this.$$t.openMarket();
      },
      
      // 强制使用应用宝打开
      openMarket1() {
        this.$$t.openMarket('com.tencent.android.qqdownloader');
      },
      
      // 打开系统分享
      sysShare() {
        this.$$t.sysShare('中医阁app，中医药爱好者的学习查询工具非常好用，推荐你也来试试哦~ https://zhongyi.vifeirg.cn').then(res => {
          this.$$t.msg('调用成功！');
        }).catch(err => {
          this.$$t.msg('调用失败！');
        })
      },
      
      // 自定义分享
      share() {
        this.$$t.share().then(res => {
          this.$$t.msg('分享成功1')
        }).catch(err => {
          this.$$t.msg('分享失败2')
        })
      },
      
      // 查看图片
      lookImg() {
        this.$$t.lookImg('/static/example/logo.png');
      },
      
      // 查看图片
      lookImg1() {
        
        // this.$$t.lookImg(['/static/example/logo.png', '/static/example/ewm.png'], '/static/example/ewm.png');    // 使用地址
        
        this.$$t.lookImg(['/static/example/logo.png', '/static/example/ewm.png'], 1);   // 使用下标
      },
       
      // 查看图片
      lookImg2() {
        const urls = ['/static/example/logo.png', '/static/example/ewm.png']; 
        this.$$t.lookImg({
          urls,
          current: '/static/example/ewm.png',
          loop: true,
          longPressActions: {
            itemList: ['保存到相册', '识别二维码'],
            success: (res) => {
              const { tapIndex, index } = res;
              const url = urls[index];
              
              // 保存图片
              if(tapIndex === 0) {
                uni.saveImageToPhotosAlbum({
                  filePath: url,
                  success: (res) => { 
                    this.$$t.msg('保存成功：' + res.file);
                  },
                  fail: (err) => {
                    this.$$t.msg(err);
                  }
                })
              // 识别图片
              } else if(tapIndex === 1) {
                this.$$t.scanImg(url).then(res => { 
                  this.$$t.msg('识别成功：' + res) 
                }).catch(err => {
                  this.$$t.msg('识别失败！')
                })
              }
            },
          }
        });
      },
      
      // 获取当前页面路由
      getCurrentRoute() {
        // #ifdef H5
        console.log(this.$$t.getCurrentPage());
        // #endif
        this.$$t.msg(this.$$t.getCurrentRoute());
      },
      
      // 延时执行
      async delay() {
        this.delayObject = this.$$t.delay(2000)
        await this.delayObject;
        this.$$t.msg('我在点击两秒后执行！');
      },
      
      // 取消延时执行
      cancelDelay() {
        this.delayObject.abort();
        this.$$t.msg('取消延时执行成功！');
      },
      
      // 获取位置信息
      getLocation() {
        // this.$$t.getLocation().then(res => {     // 获取全部位置信息
        // this.$$t.getLocation('address').then(res => {   // 获取指定位置信息
        this.$$t.getLocation('district').then(res => {   // 获取指定位置信息，（此属性是address下的属性，函数以自动拆分）
          this.$$t.msg(res, true);
        }).catch(err => {
          console.log('获取位置失败！' + err);
        })
      },
      
      // 获取系统信息
      getSystemInfo() {
        console.log(this.$$t.getSystemInfo());
        this.$$t.msg('设备id：' + this.$$t.getSystemInfo('deviceId'));
      }
		}
	}
</script>

<style lang="scss" scoped>
</style>
